//  aliyun.js

import Crypto from './crypto.js';
import './hmac.js';
import './sha1.js';
import {Base64} from './base64.js';

let date = new Date()
date = date.setHours(date.getHours() + 1)
let extime = "" + new Date(date).toISOString()
var policyText = {
	"expiration": extime, //设置该Policy的失效时间，超过这个失效时间之后，就没有办法通过这个policy上传文件了
	"conditions": [
		["content-length-range", 0, 1024 * 1024 * 100] // 设置上传文件的大小限制 ,超过100M的文件不能写入
	]
};
var config = {
	accessid: 'LTAI5tNPWfDADifUNRNTY6Zv',  //修改成自己的
	accesskey: 'CcS8OpKJlg5AqIiXyFJSByABgdefpk', //修改成自己的
	osshost: 'https://zc-oss1.oss-cn-hangzhou.aliyuncs.com', //修改成自己的
	policyBase64: Base64.encode(JSON.stringify(policyText)),
	uploadFileSize: 1024 * 1000 * 10,  //上传文件大小限制 10M
}
var message = config.policyBase64;
var bytes = Crypto.HMAC(Crypto.SHA1, message, config.accesskey, {
	asBytes: true
});
var signature = Crypto.util.bytesToBase64(bytes);
var timetamp = new Date().getTime();

function random_string(len) {
	len = len || 32;
	var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
	var maxPos = chars.length;
	var pwd = '';
	for (let i = 0; i < len; i++) {
		pwd += chars.charAt(Math.floor(Math.random() * maxPos));
	}
	return pwd;
}
var OSS = {
	name: 'aliyun',
	signature: signature,
	host: config.osshost,
	accessid: config.accessid,	
	policyBase64: config.policyBase64,
	uploadFileSize: config.uploadFileSize
}
export default OSS;

